package com.feather.common.log;

/**
 * @author flogyin
 */
public interface LogProvider {
	static final LogProvider[]	CURRENT	= new LogProvider[] { new LogProvider() {
											private Logger	instance	= new Logger() {
																			@Override
																			public Object getSource() {
																				return null;
																			}

																			@Override
																			public void setSource(Object src) {

																			}

																			@Override
																			public String getMethod() {
																				return null;
																			}

																			@Override
																			public void setMethod(String method) {

																			}

																			@Override
																			public Object getMessage() {
																				return null;
																			}

																			@Override
																			public void setMessage(Object msg) {

																			}

																			@Override
																			public void print() {

																			}

																			@Override
																			public void log(Object params) {

																			}

																			@Override
																			public void logImmediately(Object params) {

																			}
																		};

											@Override
											public Logger createPrinter() {
												return this.instance;
											}

											@Override
											public Logger createLogger() {
												return this.instance;
											}

											@Override
											public boolean isDebug() {
												return false;
											}

											@Override
											public void setDebug(boolean flag) {

											}
										} };

	Logger createPrinter();

	Logger createLogger();

	boolean isDebug();

	void setDebug(boolean flag);
}
